package com.googlecode.fauxml;

import java.util.Collection;
import java.util.Set;
import javax.xml.bind.annotation.XmlTransient;

/**
 * This entity exists to test serialization to/from XML.
 * @author amatta
 */
public class XMLSerializeTestEntity {
	public enum TestEnum {
		VALUE_ONE,
		VALUE_TWO;
	}
	private TestEnum testEnum;
	private boolean testBoolean;
	private boolean[] testBooleanArray;
	private byte testByte;
	private byte[] testByteArray;
	private short testShort;
	private short[] testShortArray;
	private int testInt;
	private int[] testIntArray;
	private long testLong;
	private long[] testLongArray;
	private float testFloat;
	private float[] testFloatArray;
	private double testDouble;
	private double[] testDoubleArray;
	private char testChar;
	private char[] testCharArray;
	private String testString;
	private String[] testStringArray;
	private Collection<Integer> testIntegerCollection;
	private Collection<XMLSerializeTestEntity> testXMLSerializeTestEntityCollection;
	private Set<Integer> testIntegerSet;
	private Set<XMLSerializeTestEntity> testXMLSerializeTestEntitySet;
	private XMLSerializeTestEntity testXMLSerializeTestEntity;
	private XMLSerializeTestEntity[] testXMLSerializeTestEntityArray;

	public TestEnum getTestEnum() {
		return testEnum;
	}

	public void setTestEnum(TestEnum testEnum) {
		this.testEnum = testEnum;
	}

	public boolean isTestBoolean() {
		return testBoolean;
	}

	public void setTestBoolean(boolean testBoolean) {
		this.testBoolean = testBoolean;
	}

	public boolean[] getTestBooleanArray() {
		return testBooleanArray;
	}

	public void setTestBooleanArray(boolean[] testBooleanArray) {
		this.testBooleanArray = testBooleanArray;
	}

	public byte getTestByte() {
		return testByte;
	}

	public void setTestByte(byte testByte) {
		this.testByte = testByte;
	}

	public byte[] getTestByteArray() {
		return testByteArray;
	}

	public void setTestByteArray(byte[] testByteArray) {
		this.testByteArray = testByteArray;
	}

	public char getTestChar() {
		return testChar;
	}

	public void setTestChar(char testChar) {
		this.testChar = testChar;
	}

	public char[] getTestCharArray() {
		return testCharArray;
	}

	public void setTestCharArray(char[] testCharArray) {
		this.testCharArray = testCharArray;
	}

	public double getTestDouble() {
		return testDouble;
	}

	public void setTestDouble(double testDouble) {
		this.testDouble = testDouble;
	}

	public double[] getTestDoubleArray() {
		return testDoubleArray;
	}

	public void setTestDoubleArray(double[] testDoubleArray) {
		this.testDoubleArray = testDoubleArray;
	}

	public float getTestFloat() {
		return testFloat;
	}

	public void setTestFloat(float testFloat) {
		this.testFloat = testFloat;
	}

	public float[] getTestFloatArray() {
		return testFloatArray;
	}

	public void setTestFloatArray(float[] testFloatArray) {
		this.testFloatArray = testFloatArray;
	}

	public int getTestInt() {
		return testInt;
	}

	public void setTestInt(int testInt) {
		this.testInt = testInt;
	}

	public int[] getTestIntArray() {
		return testIntArray;
	}

	public void setTestIntArray(int[] testIntArray) {
		this.testIntArray = testIntArray;
	}

	public Collection<Integer> getTestIntegerCollection() {
		return testIntegerCollection;
	}

	public void setTestIntegerCollection(Collection<Integer> testIntegerCollection) {
		this.testIntegerCollection = testIntegerCollection;
	}

	public Set<Integer> getTestIntegerSet() {
		return testIntegerSet;
	}

	public void setTestIntegerSet(Set<Integer> testIntegerSet) {
		this.testIntegerSet = testIntegerSet;
	}

	public long getTestLong() {
		return testLong;
	}

	public void setTestLong(long testLong) {
		this.testLong = testLong;
	}

	public long[] getTestLongArray() {
		return testLongArray;
	}

	public void setTestLongArray(long[] testLongArray) {
		this.testLongArray = testLongArray;
	}

	public short getTestShort() {
		return testShort;
	}

	public void setTestShort(short testShort) {
		this.testShort = testShort;
	}

	public short[] getTestShortArray() {
		return testShortArray;
	}

	public void setTestShortArray(short[] testShortArray) {
		this.testShortArray = testShortArray;
	}

	public String getTestString() {
		return testString;
	}

	public void setTestString(String testString) {
		this.testString = testString;
	}

	public String[] getTestStringArray() {
		return testStringArray;
	}

	public void setTestStringArray(String[] testStringArray) {
		this.testStringArray = testStringArray;
	}

	public XMLSerializeTestEntity getTestXMLSerializeTestEntity() {
		return testXMLSerializeTestEntity;
	}

	public void setTestXMLSerializeTestEntity(XMLSerializeTestEntity testXMLSerializeTestEntity) {
		this.testXMLSerializeTestEntity = testXMLSerializeTestEntity;
	}

	public XMLSerializeTestEntity[] getTestXMLSerializeTestEntityArray() {
		return testXMLSerializeTestEntityArray;
	}

	public void setTestXMLSerializeTestEntityArray(XMLSerializeTestEntity[] testXMLSerializeTestEntityArray) {
		this.testXMLSerializeTestEntityArray = testXMLSerializeTestEntityArray;
	}

	public Collection<XMLSerializeTestEntity> getTestXMLSerializeTestEntityCollection() {
		return testXMLSerializeTestEntityCollection;
	}

	public void setTestXMLSerializeTestEntityCollection(Collection<XMLSerializeTestEntity> testXMLSerializeTestEntityCollection) {
		this.testXMLSerializeTestEntityCollection = testXMLSerializeTestEntityCollection;
	}

	public Set<XMLSerializeTestEntity> getTestXMLSerializeTestEntitySet() {
		return testXMLSerializeTestEntitySet;
	}

	public void setTestXMLSerializeTestEntitySet(Set<XMLSerializeTestEntity> testXMLSerializeTestEntitySet) {
		this.testXMLSerializeTestEntitySet = testXMLSerializeTestEntitySet;
	}

	@XmlTransient
	public String getTransientProperty() {
		return "Transient, not stored";
	}
	
	public void setTransientProperty(String nothingToSet) {
		//Do nothing
	}
}
